package com.hopu.haogoumall.vxapi.controller;

import com.hopu.haogoumall.core.utils.ResponseUtils;
import com.hopu.haogoumall.db.module.HaogoumallAddress;
import com.hopu.haogoumall.db.service.VxAddressService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Package: com.hopu.haogoumall.vxapi.controller
 * @ClassName: VxAddressController
 * @Author: xiaoBao
 * @CreateTime: 2020-12-08 10:22
 * @Description: 【用户收货地址管理表现层】
 */

/**@RestController注解：定义表现层，并且在每个使用@RequestMapping注解的方法上自动添加@ResponseBody注解*/
@RestController
/**@RequestMapping注解：在类名上定义的@RequestMapping注解用于窄化（简化）请求路径；*/
@RequestMapping("/wx/")
public class VxAddressController {
    /** 通过工厂获取Logger日志对象用于输出日志信息*/
    Logger logger = LoggerFactory.getLogger(getClass());
    /** 引入Service业务层*/
    @Resource
    private VxAddressService vxAddressService;

    /**
     * 【addressList】 根据用户ID查询登录用户的所有收获地址
     * @param userId 用户ID；
     * @return 将地址信息返回封装到返回协议给前端进行显示。
     */
    @RequestMapping("address/list")
    public Object addressList(String userId){
        // 执行业务层操作：根据用户Id查询当前用户的收获地址
        List<HaogoumallAddress> addressList = vxAddressService.findAll(userId);
        return ResponseUtils.ok(addressList);
    }
}
